-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add enum check when decoding in cluster object #20020
add enum check when decoding in cluster object #20020
Conversation
PR #20020: Size comparison from 57cb679 to 73c15dd Increases (11 builds for bl602, cyw30739, k32w, linux, mbed, telink)
Full report (11 builds for bl602, cyw30739, k32w, linux, mbed, telink)
|
42d0382
to
6e2e7c7
Compare
PR #20020: Size comparison from cbabee6 to 6e2e7c7 Increases (10 builds for cyw30739, k32w, linux, mbed, telink)
Full report (10 builds for cyw30739, k32w, linux, mbed, telink)
|
6e2e7c7
to
29afb1f
Compare
PR #20020: Size comparison from 8064507 to 29afb1f Increases above 0.2%:
Increases (39 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (5 builds for cc13x2_26x2)
Full report (39 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
|
29afb1f
to
c73e03c
Compare
PR #20020: Size comparison from aa2f050 to c73e03c Increases (16 builds for cyw30739, k32w, linux, mbed, nrfconnect, p6, telink)
Full report (16 builds for cyw30739, k32w, linux, mbed, nrfconnect, p6, telink)
|
c73e03c
to
33e5e8e
Compare
PR #20020: Size comparison from aa2f050 to 33e5e8e Increases above 0.2%:
Increases (39 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (5 builds for cc13x2_26x2)
Full report (39 builds for cc13x2_26x2, cyw30739, efr32, k32w, linux, mbed, nrfconnect, p6, telink)
|
33e5e8e
to
3151688
Compare
PR #20020: Size comparison from 61dd4d0 to 3151688 Increases above 0.2%:
Increases (41 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (7 builds for bl602, cc13x2_26x2)
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
e3dd7ae
to
1c47d0f
Compare
PR #20020: Size comparison from 6185156 to 1c47d0f Increases above 0.2%:
Increases (41 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (8 builds for bl602, cc13x2_26x2)
Full report (43 builds for bl602, cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
1c47d0f
to
7eb25db
Compare
PR #20020: Size comparison from bd077fe to 7eb25db Increases (30 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
Decreases (6 builds for cc13x2_26x2)
Full report (30 builds for cc13x2_26x2, cyw30739, efr32, esp32, k32w, linux, mbed, nrfconnect, p6, telink)
|
Problem
#19334
Change overview
Add enum check support when decoding in cluster object.
For example, spec version 1 allows values "0, 1"
We select "2" as unknown value.
Spec version 2 defines values 2 and 3 to have a meaning.
When version 2 client sends those to version 1 server, the server will treat both 2 and 3 as 2, which it considers unknown.
The unknown value must not ever be sent on the wire, so the version 1 thing will never send it to a version 2 thing.
Devices implementing different versions of the spec need to be able to interact, and the spec defines how
Testing
Add negative test to encode one unknown enum, then decode would set it as the first unknown enum with success.
Add yaml test with similar scenario.